package com.example.demo1.mapper;

import com.example.demo1.entity.Course;
import com.example.demo1.entity.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;


@Mapper
public interface UserMapper {

    // 1、注册
    User selectStuName(String stuName);

    int insertUser(User user);

    // 2、登录
    // 根据用户名查询用户
    User getUserName(String stuName);

    // 3、查询所有用户信息
    List<User> getAllUser();

    // 4、修改用户信息
    User selectUserById(String stuId);
    User selectUserByName(String stuName);
    int updateUser(User user);

    // 5、删除用户信息
    int deleteUser(String stuId);

    // 6、根据用户id查询当前可选课程
    User getUserById(String stuId);
    List<Course> getAllCourses(String stuId);

    // 7、根据课程id查询课程信息
    Course getCourseById(String courseId);


    // 8、用户进行选课（修改选课信息）
    int countUser(String stuId);
    int countCourse(String courseId);
    Course selectCourse(String courseId);
    int countEnrollment(String stuId, String courseId);
    int insertEnrollment(String stuId, String courseId);
    int updateCourseCurrentStudents(String courseId);



    // 9、根据用户id查询已选课程
    User findUserById(String stuId);
    List<Course> findCoursesByUserId(String stuId);

    // 10、用户退课（删除选课）
    int deleteCourses(String stuId, String courseId);
    User findUserByStuId(String stuId);
    Course findCourseById(String courseId);
    int updateCourseCurrentStudent(String courseId);
    int updateCourseMaxStudents(String courseId);
}
